package com.atguigu.gmall.search.dao;

import com.atguigu.gmall.search.bean.Person;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.data.repository.CrudRepository;

import java.util.List;


/**
 * 1、ElasticsearchRepository： 专门针对Es的。 用这个  ======
 * 2、CrudRepository:  普通增删改查
 * 3、PagingAndSortingRepository： 既包含了2，还有分页
 *
 * 基本的CRUD只需要给方法按照规则准备好名字
 */
public interface PersonEsDao extends ElasticsearchRepository<Person,Long> {

    //SpringData  起名只要起好就行
    List<Person> findAllByAgeBetween(Integer age, Integer age2);


    //18到20之间 或者 名字叫田七
    List<Person> findAllByAgeBetweenOrNameEquals(Integer age, Integer age2, String name);


    List<Person> findAllByAddressLike(String address);

    List<Person> findAllByAddressLikeAndAgeBetweenAndIdGreaterThanEqual(String address, Integer age, Integer age2, Long id);

    void  deleteAllByAddressIsLike(String address);

//    Optional<Person>   findAllByIdEquals(Long id);
//
//    Person   findAllByIdEquals(Long id);


}